/**
 * @Description WxMessageController.java
 * @author xu_cc [18724000100@163.com]
 * @date 创建时间：2017年11月24日 下午3:42:16
 */
package com.solution.wx.my.controller;

import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.solution.admin.message.constants.MessageConstants.MessageType;
import com.solution.admin.message.entity.MessageEntity;
import com.solution.admin.message.service.MessageService;
import com.solution.common.config.PublicConfig;
import com.solution.common.controller.BaseController;
import com.solution.common.utils.DateUtils;
import com.solution.common.utils.string.StringUtil;

/**
 * 微信消息页面
 * 
 * @author xu_cc
 * @date 创建时间：2017年11月24日 下午3:50:17
 */
@RequestMapping("/wx/wxmessage")
@Controller
public class WxMessageController extends BaseController {
	@Autowired
	MessageService messageService;

	/**
	 * 转微信消息列表
	 * 
	 * @param request
	 * @param model
	 * @return String
	 * @author xu_cc
	 * @throws Exception
	 *             exception
	 * @Date 创建时间：2017年11月24日 下午3:56:28
	 */
	@RequestMapping("/toWxMessageListPage")
	public String toWxMessageListPage(HttpServletRequest request, Model model) {
		try {
			Long userId = getUserId();
			List<MessageEntity> messageSystemList = messageService.getWxMessageList(MessageType.TYPE_SYSTEM, userId, 100);
			List<MessageEntity> messageOrderList = messageService.getWxMessageList(MessageType.TYPE_ORDER, userId, 100);
			List<MessageEntity> messageDynamicList = messageService.getWxMessageList(MessageType.TYPE_DYNAMIC, userId, 100);
			
			model.addAttribute("today", DateUtils.formatDate(new Date(), null));
			
			model.addAttribute("messageSystemList", messageSystemList);
			model.addAttribute("messageOrderList", messageOrderList);
			model.addAttribute("messageDynamicList", messageDynamicList);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "wx/my/wx_message_list";
	}

	/**
	 * 转微信消息
	 * 
	 * @param request
	 * @param messageId
	 * @return String
	 * @author xu_cc
	 * @throws Exception
	 *             exception
	 * @Date 创建时间：2017年11月24日 下午3:58:39
	 */
	@RequestMapping("/toWxMessagePage")
	public String toWxMessagePage(HttpServletRequest request, String messageId, Model model) {
		try {
			Long userId = getUserId();
			if (StringUtil.isNotNull(messageId)) {

				MessageEntity message = messageService.getMessageById(Long.parseLong(messageId));
				// 图文描述的图片地址替换 TEMPPATH换成路径
				if (StringUtil.isNotNull(message.getContent())) {
					String content = message.getContent().replaceAll("TEMPPATH", PublicConfig.IMG_ROOT_URL);
					String path = request.getContextPath();
					String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
					content = content.replaceAll("/ueditor", basePath + "ueditor");
					message.setContent(content);
				}
				// 标识消息已读
				messageService.doReadMessage(Long.parseLong(messageId), userId);
				model.addAttribute("message", message);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return "wx/my/wx_message";
	}
}
